import { Ab_DataBlocker_bA, Ab_DataTransfer_bA } from "../../A-FRAME/A-LIB/lib.b.data";

class Ab_User_bA {
	/** 用户昵称 */
	Ab_nickname_bA: string;
	/** 用户余额 */
	Ab_symbol_bA: number;
	/** 用户钻石 */
	Ab_diamond_bA: number;
	/** 用户等级 */
	Ab_level_bA: number;

	/** 用户当前的关卡自然数，从1开始 */
	Ab_round_bA: number;
	///** 用户当前槽位的锁定状态 */
	//Ab_lock_bA: boolean;

	Ab_remove_count_bA: number;

	/** 道具数量 */
	Ab_prop_stash_bA: number;
	/** 道具数量 */
	Ab_prop_revoke_bA: number;
	/** 道具数量 */
	Ab_prop_shuffle_bA: number;

	/** 是否开启背景音乐 */
	Ab_bgm_bA: boolean;

	Ab_task_round_bA: string;
	Ab_task_remove_bA: string;
	Ab_open_rank_bA: number;
	Ab_guide_record_bA: string;
}

const blocker: Ab_DataBlocker_bA<Ab_User_bA> = {
	Ab_get_bA: {
		Ab_symbol_bA(proxy, value) {
			return value ?? 0;
		},
		Ab_diamond_bA(proxy, value) {
			return value ?? 0;
		},
		Ab_round_bA(proxy, value) {
			return value ?? 1;
		},
		//Ab_lock_bA(proxy, value) {
		//	return value ?? true;
		//},
		Ab_prop_stash_bA(proxy, value) {
			return value ?? 0;
		},
		Ab_prop_revoke_bA(proxy, value) {
			return value ?? 0;
		},
		Ab_prop_shuffle_bA(proxy, value) {
			return value ?? 0;
		},
		Ab_nickname_bA(proxy, value) {
			return value ?? '';
		},
		Ab_level_bA(proxy, value) {
			return value ?? 1;
		},
		Ab_bgm_bA(proxy, value) {
			return value ?? true;
		},
		Ab_task_remove_bA(proxy, value) {
			return value ?? '';
		},
		Ab_task_round_bA(proxy, value) {
			return value ?? '';
		},
		Ab_remove_count_bA(proxy, value) {
			return value ?? 0;
		},
		Ab_guide_record_bA(proxy, value) {
			return value ?? '';
		},
	}
}

export default function Ab_get_proxy_user_bA(name?: string, prefix?: string){
	return Ab_DataTransfer_bA.Ab_initProxy_bA(name??'Ab_user_bA', new Ab_User_bA(), true, blocker, prefix??'');
}